package org.massdgames.thunder.server.domain.strategy;

import java.util.ArrayList;

import org.massdgames.thunder.server.domain.Card;
import org.massdgames.thunder.server.domain.Deck;
import org.massdgames.thunder.server.domain.FetchException;

/**
 * Each deck of randomizers will have a strategy that determines the rules by
 * which it retrieves random cards. The simplest initial strategy is @see
 * PureRandomStrategy, which blindly fetches cards. More advanced strategies
 * will allow for user-control over certain aspects of the game setup.
 * 
 * @author pumpkinheadgiant
 * 
 */
public interface FetchStrategy {
    public ArrayList<Card> getCards(Deck deck) throws FetchException;
}
